找传奇、传世资源到传世资源站!

C++面试题集锦.docx(共152页)

8.5玩家评分(1人评分)
下载后可评
介绍 评论 失效链接反馈

from clipboard目录I.C 81.引用和指针的区别?82.从汇编层去解释一下引用83.C 中的指针参数传递和引用参数传递94.形参与实参的区别?105.static的用法和作用?106.静态变量什么时候初始化117.const?128.const成员函数的理解和应用?139.指针和const的用法1310.mutable1311.extern用法?1312.int转字符串字符串转int?strcat,strcpy,strncpy,memset,memcpy的内部实现?1413.深拷贝与浅拷贝?1414.C 模板是什么,底层怎么实现的?1515.C语言struct和C struct区别1516.虚函数可以声明为inline吗?1517.类成员初始化方式?构造函数的执行顺序 ?为什么用成员初始化列表会快一些?1518.成员列表初始化?1619.构造函数为什么不能为虚函数?析构函数为什么要虚函数?1720.析构函数的作用,如何起作用?1821.构造函数和析构函数可以调用虚函数吗,为什么1822.构造函数的执行顺序?析构函数的执行顺序?构造函数内部干了啥?拷贝构造干了啥?1823.虚析构函数的作用,父类的析构函数是否要设置为虚函数?1924.构造函数析构函数可以调用虚函数吗?1925.构造函数析构函数可否抛出异常1926.类如何实现只能静态分配和只能动态分配1927.如果想将某个类用作基类,为什么该类必须定义而非声明?2028.什么情况会自动生成默认构造函数?2029.什么是类的继承?2030.什么是组合?2131.抽象基类为什么不能创建对象?2132.类什么时候会析构?2233.为什么友元函数必须在类内部声明?2234.介绍一下C 里面的多态?2235.用C语言实现C 的继承2336.继承机制中对象之间如何转换?指针和引用之间如何转换?2537.组合与继承优缺点?2538.左值右值2639.移动构造函数2640.C语言的编译链接过程?2741.vector与list的区别与应用?怎么找某vector或者list的倒数第二个元素2742.STL vector的实现,删除其中的元素,迭代器如何变化?为什么是两倍扩容?释放空间?2843.容器内部删除一个元素2944.STL迭代器如何实现3045.set与hash_set的区别3046.hashmap与map的区别3047.map、set是怎么实现的,红黑树是怎么能够同时实现这两种容器? 为什么使用红黑树?3048.如何在共享内存上使用stl标准库?3049.map插入方式有几种?3150.STL中unordered_map(hash_map)和map的区别,hash_map如何解决冲突以及扩容3151.vector越界访问下标,map越界访问下标?vector删除元素时会不会释放空间?3252.map[]与find的区别?3253.STL中list与queue之间的区别3254.STL中的allocator,deallocator3355.STL中hash_map扩容发生什么?3356.map如何创建?3357.vector的增加删除都是怎么做的?为什么是1.5倍?3458.函数指针?3559.说说你对c和c 的看法,c和c 的区别?3660.c/c 的内存分配,详细说一下栈、堆、静态存储区?3661.堆与栈的区别?3762.野指针是什么?如何检测内存泄漏?3763.悬空指针和野指针有什么区别?3864.内存泄漏3965.new和malloc的区别?3966.delete p;与delete[]p,allocator4067.new和delete的实现原理, delete是如何知道释放内存的大小的额?4068.malloc申请的存储空间能用delete释放吗4169.malloc与free的实现原理?4170.malloc、realloc、calloc的区别4171.__stdcall和__cdecl的区别?4272.使用智能指针管理内存资源,RAII4273.手写实现智能指针类4274.内存对齐?位域?4275.结构体变量比较是否相等4376.位运算4377.为什么内存对齐4378.函数调用过程栈的变化,返回值和参数变量哪个先入栈?4479.怎样判断两个浮点数是否相等?4480.宏定义一个取两个数中较大值的功能4481.define、const、typedef、inline使用方法?4482.printf实现原理?4583.#include 的顺序以及尖叫括号和双引号的区别4584.lambda函数4585.hello world 程序开始到打印到屏幕上的全过程?4686.模板类和模板函数的区别是什么?4687.为什么模板类一般都是放在一个h文件中4688.C 中类成员的访问权限和继承权限问题。4789.cout和printf有什么区别?4890.重载运算符?4891.函数重载函数匹配原则4892.定义和声明的区别4893.C 类型转换有四种4994.全局变量和static变量的区别4995.静态成员与普通成员的区别5096.说一下理解 ifdef  endif5097.隐式转换,如何消除隐式转换?5198.虚函数的内存结构,那菱形继承的虚函数内存结构呢5199.多继承的优缺点,作为一个开发者怎么看待多继承51100.迭代器 it,it 哪个好,为什么52101.C 如何处理多个异常的?52102.模板和实现可不可以不写在一个文件里面?为什么?53103.在成员函数中调用delete this会出现什么问题?对象还可以使用吗?53104.智能指针的作用;54105.auto_ptr作用55106.class、union、struct的区别55107.动态联编与静态联编56108.动态编译与静态编译56109.动态链接和静态链接区别56110.在不使用额外空间的情况下,交换两个数?57111.strcpy和memcpy的区别57112.执行int main(int argc, char *argv[])时的内存结构57113.volatile关键字的作用?57114.讲讲大端小端,如何检测(三种方法)58115.查看内存的方法58116.空类会默认添加哪些东西?怎么写?59117.标准库是什么?59118.const char* 与string之间的关系,传递参数问题?59119.new、delete、operator new、operator delete、placement new、placement delete60120.为什么拷贝构造函数必须传引用不能传值?60】121.空类的大小是多少?为什么?61122.你什么情况用指针当参数,什么时候用引用,为什么?61123.大内存申请时候选用哪种?C 变量存在哪?变量的大小存在哪?符号表存在哪?62124.为什么会有大端小端,htol这一类函数的作用62125.静态函数能定义为虚函数吗?常函数?62126.this指针调用成员变量时,堆栈会发生什么变化?63127.静态绑定和动态绑定的介绍63128.设计一个类计算子类的个数63129.怎么快速定位错误出现的地方63130.虚函数的代价?63131.类对象的大小64132.移动构造函数64133.何时需要合成构造函数65134.何时需要合成复制构造函数65135.何时需要成员初始化列表?过程是什么?65136.程序员定义的析构函数被扩展的过程?66137.构造函数的执行算法?66138.构造函数的扩展过程?66139.哪些函数不能是虚函数66140.sizeof 和strlen 的区别67141.简述strcpy、sprintf与memcpy的区别67142.编码实现某一变量某位清0或置167143.将“引用”作为函数参数有哪些特点?68144.分别写出BOOL,int,float,指针类型的变量a 与“零”的比较语句。68145.局部变量全局变量的问题?68146.数组和指针的区别?69147.C 如何阻止一个类被实例化?一般在什么时候将构造函数声明为private?69148.如何禁止自动生成拷贝构造函数?69149.assert与NDEBUGE70150.Debug和release的区别70151.main函数有没有返回值70152.写一个比较大小的模板函数70153.c 怎么实现一个函数先于main函数运行71154.虚函数与纯虚函数的区别在于72155.智能指针怎么用?智能指针出现循环引用怎么解决?72156.strcpy函数和strncpy函数的区别?哪个函数更安全?72157.为什么要用static_cast转换而不用c语言中的转换?73158.成员函数里memset(this,0,sizeof(*this))会发生什么73159.方法调用的原理(栈,汇编)73160.MFC消息处理如何封装的?74161.回调函数的作用74162.随机数的生成74II.操作系统751.操作系统特点752.什么是进程753.进程754.进程与线程的区别755.进程状态转换图766.进程的创建过程?需要哪些函数?需要哪些数据结构?767.进程创建子进程,fork详解768.子进程和父进程怎么通信?779.进程和作业的区别?7710.死锁是什么?必要条件?如何解决?7711.鸵鸟策略7912.银行家算法7913.进程间通信方式有几种,他们之间的区别是什么?8014.线程同步的方式?怎么用?8115.页和段的区别?8116.孤儿进程和僵尸进程的区别?怎么避免这两类进程?守护进程?8217.守护进程是什么?怎么实现?8218.线程和进程的区别?线程共享的资源是什么?8319.线程比进程具有哪些优势?8320.什么时候用多进程?什么时候用多线程?8421.协程是什么?8422.递归锁?8423.用户态到内核态的转化原理?8424.中断的实现与作用,中断的实现过程?8525.系统中断是什么,用户态和内核态的区别8526.CPU中断8627.执行一个系统调用时,OS发生的过程,越详细越好 1.执行用户程序(如:fork)8628.函数调用和系统调用的区别?8629.经典同步问题解法:生产者与消费者问题,哲学家进餐问题,读者写者问题。8730.虚拟内存?使用虚拟内存的优点?什么是虚拟地址空间?8731.线程安全?如何实现?8832.linux文件系统8833.常见的IO模型,五种?异步IO应用场景?有什么缺点?8934.IO复用的原理?零拷贝?三个函数?epoll 的 LT 和 ET 模式的理解。9035.Linux是如何避免内存碎片的9136.递归的原理是啥?递归中遇到栈溢出怎么解决9137. i是否是原子操作9238.缺页中断,页表寻址9339.LRU的实现9340.内存分区9341.伙伴系统相关9442.I/O控制方式9443.Spooling技术9544.通道技术9645.共享内存的实现9646.计一个线程池,内存池96III.Linux971.Inode节点972.Linux软连接、硬链接,删除了软连接的源文件软连接可用?983.Linux系统应用程序的内存空间是怎么分配的,用户空间多大,内核空间多大?984.Linux的共享内存如何实现995.文件处理grep,awk,sed这三个命令必知必会996.查询进程占用CPU的命令997.一个程序从开始运行到结束的完整过程1008.一般情况下在Linux/windows平台下栈空间的大小1009.Linux重定向10010.Linux常用命令101IV.网络101一、物理层102二、数据链路层102三、网络层102四、运输层104五、应用层116V.数据结构1271.常用查找算法?具体实现1272.常用排序算法?具体实现,哪些是稳定的,时间复杂度、空间复杂度,快速排序非递归如何实现?快排的优势?1273.图的常用算法?1274.哈夫曼编码?1285.***AVL树、B 树、红黑树、B树B 树区别,B 树应用在哪里?1286.为什么使用红黑树,什么情况使用AVL树。红黑树比AVL树有什么优点。1287.单链表如何判断有环?1298.如何判断一个图是否连同?1299.hash用在什么地方,解决hash冲突的几种方法?负载因子?12910.n个节点的二叉树的所有不同构的个数13011.二叉树的公共祖先,排序二叉树的公共祖先13012.节点的最大距离13013.把一颗二叉树原地变成一个双向链表13114.二叉树的所有路径13115.二叉树中寻找每一层中最大值?13116.最大深度、最小深度、会否是平衡树13217.二叉树中叶子节点的数量13318.交换左右孩子、二叉树镜像13319.两个二叉树是否相等13320.是否为完全二叉树13421.是否为对称二叉树13422.判断B是否为A的子树13423.构建哈夫曼树13524.手写单链表反转?删除指定的单链表的一个节点13525.实现一个循环队列13526.Top K问题13627.求一颗树的最大距离13628.KMP13629.数组和链表的区别?13630.逆序对思路13731.100个有序数组合并13732.使用递归和非递归求二叉树的深度13733.索引、链表的优缺点?13734.找一个点为中心的圆里包含的所有的点。13735.字典树的理解13736.快速排序的优化13737.海量数据的bitmap使用原理138VI.算法138VII.数据库1401.事务是什么1402.分布式事务1403.一二三范式1404.数据库的索引类型,数据库索引的作用1415.聚集索引和非聚集索引的区别1416.唯一性索引和主码索引的区别1427.数据库引擎,innodb和myisam的特点与区别1428.关系型和非关系型数据库的区别1439.数据库的隔离级别14310.数据库连接池的作用14311.数据的锁的种类,加锁的方式14412.数据库union join的区别14413.Inner join,left outter join,right outter join之间的区别144VIII.设计模式1441.单例模式1452.手写线程安全的单例模式?1453.工厂模式1454.装饰器模式1455.订阅/发布模式1456.观察者模式1467.MVC模式146IX.多线程编程1461.146X.HR问题146

评论

发表评论必须先登陆, 您可以 登陆 或者 注册新账号 !


在线咨询: 问题反馈
客服QQ:174666394

有问题请留言,看到后及时答复